package com.yc.snack.listener;

import java.io.File;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import com.yc.snack.util.ConstantInfo;
import com.yc.snack.util.StringUtil;

/**
 * 创建一个应用程序上下文监听器，当服务器启动，应用程序加载的时候就运行
 * @author asus
 *
 */
@WebListener
public class CreateUploadPathListener implements ServletContextListener {
	/**
	 * 初始化的时候，也就是应用程序启动，application创建的时候运行的
	 */
	public void contextInitialized(ServletContextEvent sce) {
		//获取web.xml文件中的context-param配置的参数
		String path = sce.getServletContext().getInitParameter("uploadPath");
		if(StringUtil.checkNull(path)) {	//如果没有配置，则给一个默认的
			path = "snacknet_pics";
		}
		
		//判断这个路径是否存在，这个路径应该在Tomcat的webapps目录下
		String basepath = sce.getServletContext().getRealPath("/");	//获取这个项目部署的绝对路径
		
		//在basepath的上一节目录即webapps下面创建path目录
		String parent = new File(basepath).getParent();
		File fl = new File(parent, path);
		if(!fl.exists()) {
			fl.mkdirs();	//如果不存在则创建
		}
		
		ConstantInfo.basepath = parent;
		ConstantInfo.uploadpath = path;
	}
}
